import MesHelp from '../Http/MesHelp'

// ==================== 角色管理API接口 ====================

/**
 * 获取角色列表接口 - 支持分页和搜索
 * @param data 查询参数（角色名称、状态、分页信息）
 * @returns Promise<any>
 */
export const getRoleList = (data: any) => {
  return MesHelp.post('/api/User/GetRoleList', data)
}

/**
 * 获取角色详情接口 - 根据角色ID获取完整角色信息
 * @param id 角色ID
 * @returns Promise<any>
 */
export const getRoleById = (id: number) => {
  return MesHelp.get(`/api/User/GetRoleById?id=${id}`)
}

/**
 * 创建角色接口 - 新增角色
 * @param data 角色信息
 * @returns Promise<any>
 */
export const createRole = (data: any) => {
  return MesHelp.post('/api/User/CreateRole', data)
}

/**
 * 更新角色接口 - 编辑角色信息
 * @param data 角色信息
 * @returns Promise<any>
 */
export const updateRole = (data: any) => {
  return MesHelp.post('/api/User/UpdateRole', data)
}

/**
 * 删除角色接口 - 软删除角色
 * @param id 角色ID
 * @returns Promise<any>
 */
export const deleteRole = (id: number) => {
  return MesHelp.post('/api/User/DeleteRole', { id })
}

/**
 * 切换角色状态接口 - 启用/禁用角色
 * @param id 角色ID
 * @param status 状态（1：启用，0：禁用）
 * @returns Promise<any>
 */
export const toggleRoleStatus = (id: number, status: number) => {
  return MesHelp.post('/api/User/ToggleRoleStatus', { id, status })
}

/**
 * 分配角色权限接口 - 给角色分配权限
 * @param data 分配参数（角色ID和权限ID列表）
 * @returns Promise<any>
 */
export const assignRolePermissions = (data: any) => {
  return MesHelp.post('/api/User/AssignRolePermissions', data)
}

/**
 * 获取角色权限接口 - 获取角色的所有权限
 * @param roleId 角色ID
 * @returns Promise<any>
 */
export const getRolePermissions = (roleId: number) => {
  return MesHelp.get(`/api/User/GetRolePermissions?roleId=${roleId}`)
}

/**
 * 获取所有角色接口 - 用于下拉选择
 * @returns Promise<any>
 */
export const getAllRoles = () => {
  return MesHelp.get('/api/User/GetAllRoles')
}
